package com.travel.server.manager.api;

import com.travel.server.manager.dto.request.EmptyRequest;
import com.travel.server.manager.dto.request.customer.data.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @Author: LiZhenhui
 * @Date: 2018/12/10 9:56
 * @Desc:
 */
public interface ICustomerDataService {

    /**
     * 1
     * @param request
     * @return
     */
    @RequestMapping(value = "query_customer_data", method = RequestMethod.POST)
    Object queryCustomerData(QueryCustomerDataRequest request);

    /**
     * 2
     * @param request
     * @return
     */
    @RequestMapping(value = "export_customer_data", method = RequestMethod.POST)
    Object exportCustomerData(ExportCustomerDataRequest request);

    /**
     * 3
     * @param request
     * @return
     */
    @RequestMapping(value = "query_customer_statistics", method = RequestMethod.POST)
    Object queryCustomerStatistics(QueryCustomerStatisticsRequest request);

    /**
     * 4
     * @param request
     * @return
     */
    @RequestMapping(value = "export_customer_statistics", method = RequestMethod.POST)
    Object exportCustomerStatistics(ExportCustomerStatisticsRequest request);

    /**
     * 5
     * @param request
     * @return
     */
    @RequestMapping(value = "query_deal_customer_analysis", method = RequestMethod.POST)
    Object queryDealCustomerAnalysis(QueryDealCustomerAnalysisRequest request);

    /**
     * 6
     * @param request
     * @return
     */
    @RequestMapping(value = "query_trend_index", method = RequestMethod.POST)
    Object queryTrendIndex(QueryTrendIndexRequest request);

    /**
     * 7
     * @param request
     * @return
     */
    @RequestMapping(value = "query_member_fans_deal", method = RequestMethod.POST)
    Object queryMemberFansDeal(QueryMemberFansDealRequest request);

    /**
     * 8
     * @param request
     * @return
     */
    @RequestMapping(value = "query_customer_repeat_buy", method = RequestMethod.POST)
    Object queryCustomerRepeatBuy(EmptyRequest request);

    /**
     * 9
     * @param request
     * @return
     */
    @RequestMapping(value = "query_project_customer_analysis", method = RequestMethod.POST)
    Object queryProjectCustomerAnalysis(QueryProjectCustomerAnalysisRequest request);

    /**
     * 10
     * @param request
     * @return
     */
    @RequestMapping(value = "export_project_customer_analysis", method = RequestMethod.POST)
    Object exportProjectCustomerAnalysis(ExportProjectCustomerAnalysisRequest request);

    /**
     * 11
     * @param request
     * @return
     */
    @RequestMapping(value = "query_customer_distribution", method = RequestMethod.POST)
    Object queryCustomerDistribution(EmptyRequest request);
}
